Installation
Connection issues
Repository issues
Functionality
First you need a Java virtual machine, version 1.2 or better. Go to http://java.com/ if you don't have a recent version of Java on your computer.
Add java.exe, located under the bin folder of your Java
installation, to the PATH environment variable.
On Windows, unzip cvsgrab-2.0-bin.zip, and set the environment variable CVSGRAB_HOME to the installation directory of cvsgrab, or modify cvsgrab.bat and uncomment the line set CVSGRAB_HOME= .
On Unix, untar cvsgrab-2.0-bin.tar.gz, and set the environment variable CVSGRAB_HOME to the installation directory of cvsgrab.
Note: On Windows, environment variables can be defined
from the Dos command line with:
set ENVIRONMENT_VARIABLE = value
Or for Windows XP, from Control Panel / System / Advanced
tab / Environment variables button
Java 1.0 and 1.1 won't work at all, Java 1.2 onwards should work well, and Java 1.4 is the version i'm using for the tests and it's also the version to use if you have issues with SSL or stuff like that.
Install the cvsgrab task in Ant by using the following:
<property name="cvsgrab.dir" value="[Your CVSgrab
installation directory]" />
<taskdef name="cvsgrab"
classname="net.sourceforge.cvsgrab.CVSGrabTask"
classpath="${cvsgrab.dir}/lib/cvsgrab.jar"/>
Then the <cvsgrab> task is available in your Ant build script.
Use the following arguments: -proxyHost [address of the
proxy] -proxyPort [port of the proxy]
Example: -proxyHost fireawll.mycompany.com -proxyPort
8080
If the proxy requires authentification, you can use
-proxyUser [user name for the proxy] -proxyPassword
[password for the proxy]
Example: -proxyUser myLogin -proxyPassword myPassword
If the proxy requires authentification with NTLM, like
MS proxy, you can use -proxyNTDomain [NT domain]
Example: -proxyUser ntLogin -proxyPassword ntPassword
-proxyNTDomain ntDomain
Errors of the kind: java.io.IOException Server returned
HTTP response code: 407 for URL seem to be caused by the
lack of NT domain authentification.
Note that you need the Java Cryptography extention (
JCE
) package installed or upgrade to Java 1.4 to use this
feature.
If the web site uses standard http authentification (a
message box pops up on your browser and asks for your user
name and password), then you can use the following
arguments: -webUser [user name] -webPassword [password]
Example: -webUser joe121 -webPassword xyz123
Enable simultaneous downloads, it should give you a good
performance boost when downloading a repository for the
first time.
Use the following arguments: -connections [number of
connection]
Example: -connections 3 will open 3 simultaneous downloads,
recommanded value for DSL connections.
On ViewCVS, the root url is the url you get when you
click on the element under [brackets] on the Current
directory line.
For example, on the following site,
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ant.core/
, you have this line:
Current directory: [Eclipse_Project] / org.eclipse.ant.core
Click on [Eclipse_Project], this gives you the root url to
use: http://dev.eclipse.org/viewcvs/index.cgi/
And the package path is org.eclipse.ant.core/
As a general rule, the root url should end with .cgi/ or
.py/ or viewcvs/ or source/, the package path is the rest
of the url.
Do not include any query strings like #dirlist or
?cvsroot=repo in the root url or the package path.
Let's suppose you have -destDir c:/tmp and -packagePath
myProject/myPackage-v-2.0
If you run cvsgrab, it will checkout the files to the
forder c:/tmp/myProject/myPackage-v-2.0
To checkout files to c:/tmp/myPackage for example, you need
to add the parameter -packageDir myPackage
Yes for cvsweb 2.0, and no for the other types of web interfaces, but if you give me the url to your site, i should be able to provide support to it. Add this as a feature request in SourceForge.
File a bugreport on Bug tracker and give the url of the size you were trying to access.
File a bugreport on Bug tracker and give the url of the size you were trying to access.
If you have a repository that you access with urls of
the type
http://cvs.cocoondev.org/cgi-bin/viewcvs.cgi/fins/?cvsroot=jfchart
(with ViewCVS 0.9.2 with multiple repositories installed),
then try the following command to grab your files:
cvsgrab -rootUrl
http://cvs.cocoondev.org/cgi-bin/viewcvs.cgi/ -package fins
-queryParams cvsroot=jfchart -destDir c:/checkout
This is not necessary with ViewCVS 1.0 as cvsgrab can
autodetect the name of the repository with this
version.
Because i know Java best, and it works on most operating systems. And there are great libraries available that help me to do the job better and faster.
No! CVSGrab provides only the functionality available from the web interface, and right now it's not possible to get write access to the cvs repository from any web interface. Or give me proof if i'm wrong.
Modules are a convenient functionality of cvs that groups different packages under the same name. Unfortunately it's not yet supported by cvsgrab, but maybe in the 2.1 release...